package com.tiantianfresh.model.dao;

import com.tiantianfresh.model.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @author FANGAO
 * @date 2021/11/9 - 上午 11:38
 */

public interface UserMapper extends Mapper<User> {
     /**
      * 登录
      * @param user
      * @return
      */
     User queryUserLogin(User user);

     /**
      * 查询User全部信息条数
      * @return
      */
     int userTotalCount(Map<String,Object> map);

     /**
      * user分页查询
      * @param map
      * @return
      */
     List<User> getListUser(Map<String,Object> map);

     /**
      * 添加用户
      * @param user
      * @return
      */
     int userInsert(User user);

     /**
      * 查询修改页面所用的数据
      * @param id
      */
     User queryByid(Integer id);

     /**
      * 修改用户
      * @param user
      * @return
      */
    int userUpdate(User user);

     /**
      * 删除用户
      * @param id
      * @return
      */
    int userDelete(Integer id);

    /**
     * 批量删除
     * @param map
     * @return
     */
    int deleteUsers(Map<String,Object> map);

    /**
     * 添加用户的角色
     * @param map
     * @return
     */
    int addUserAndRole(Map<String, Object> map);

    /**
     *删除用户的角色
     * @param map
     * @return
     */
    int deleteUserAndRole(Map<String, Object> map);

    /**
     * 获取关系表的数据
     * @return
     */
    List<Integer> getRoleids(Integer id);

    @Select("select count(*) from t_user where loginacct =#{loginacct}")
    int selectLoginacct(String loginacct);

    @Select("select count(*) from t_user where email =#{email}")
    int selectEmail(@Param("email") String email);

    int updateuser(User user);
}
